package com.it.zhangjun.design.pattern.observer;

import java.util.Vector;

/**
 * @className: FruitObservable
 * @description: 被观察者
 * @author: z00018123
 * @date: 2021/4/29
 **/
public abstract class FruitObservable {
    /**
     * 观察者集合
     */
    protected Vector<Observer> observers = new Vector<>();

    /**
     * 添加观察者
     *
     * @param observer
     */
    public void addObserver(Observer observer) {
        observers.add(observer);
    }

    /**
     * 删除观察者
     *
     * @param observer
     */
    public void deleteObserver(Observer observer) {
        observers.removeElement(observer);
    }

    /**
     * 通知观察者
     */
    protected abstract void notifyObserver();
}
